FRONT END — EVALUATION & PROPOSED UI

Organize the console around a decision, not around the platform.

The command-center app carries 210 route files across roughly fifteen top-level groups, and its information architecture mirrors the engineering estate: cells, services, kernels, agents. An operator does not arrive with a cell in mind. They arrive with a decision to make.

The /command-center slice already solved the hard part — tri-state reads, trace ids on every panel, explicit [not-wired] notes, role-gated mutations. The proposal below keeps that discipline verbatim and rebuilds the shell around it.

210
route files under app/, plus 317 more below depth three. No operator can hold this map.
6
competing homes: /, /dashboard, /dashboard/modern, /command-center, /operate, /mizoki.
50KB
in a single app/page.tsx. Four other pages clear 30KB. Layout, fetching, and copy all in one file.
11
honest destinations already exist under /command-center. This is the seed, not a rewrite.
Decision Inbox Decision Record Loop Monitor Consolidation Map

Screen one — the inbox is the home page

Not a metric wall. The first thing an operator sees is the set of decisions waiting on a human, ordered by what the platform cannot do without them.

1440 × APP SHELL
3.5
{{ item.label }}
L0 · Stage 3 recommend-only DEL floor 80.0 Writebacks off mycocoons · approver
QUEUE
Needs you4
Auto-eligible12
Recorded86
Refused7
DOMAIN
Media
Commerce
Finance advisory
CRE advisory
GATE REASON
Value ceiling
Below DEL floor
Forbidden autonomy
No registered holdout
Needs you — 4 decisions
Each row stopped for a stated reason. Nothing here is waiting on the platform.
live /api/bff/approvals/pending · polled 60s
PROPOSED ACTION
DEL
VALUE
WHY IT STOPPED
AGE
EVIDENCE
Reallocate $45,000 — US-CA micro-geo
DEC-76000c62 · media · f4_calibration
84
$45,000
Over the $25,000 autonomous ceiling
1h 12m
passport 6/6holdout
Pause creative set — declining net contribution
DEC-8a12f004 · media · f1_creative
76
$8,400
Below the 80.0 DEL floor
3h 40m
passport 6/6provisional
Send 240 CRE outreach drafts — Q3 roster
DEC-31b7ae90 · cre · cell 39
91
—
Forbidden autonomy — binding commitment scope
6h 05m
passport 6/6auto-send off
Act on anticipated intent — repeat-purchase cohort
DEC-5c04d1ab · media · intent v2
—
not scored
$12,000
No holdout registered before first exposure
18h
blocked O-1
trace 4f2a-90bd-11e7 · tenant-scoped · re-verified server-side approve binds your verified identity as the named approver
[not-wired] the decision LIST read is not served yet — only the aggregate. Until it is, this queue renders approvals, and the four counters in the rail read from the aggregate rather than a per-row query. No count on this screen is composed from more than one source.
Rows carry their own reason
"Why it stopped" is a first-class column, not a detail-page discovery. The operator triages without opening anything.
Posture lives in the chrome
Autonomy level, DEL floor, and writeback state sit in the top bar on every screen. Ambiguity about what the system can do on its own is the expensive kind.
Absence is designed
The not-wired note is a component with a fixed voice, so a missing read never becomes a plausible-looking number.

Screen two — the decision record is the atomic unit

One page that answers three questions in order: where is this in the pathway, why does the platform believe it, and what happens the moment I press approve.

DETAIL VIEW
DEC-76000c62 · proposed by service-decision-control-plane · 2026-08-24T21:14:08Z
Reallocate $45,000 to US-CA micro-geo reservations
Approval required DEL 84 / 80.0
GOVERNED PATHWAY
Validation Passport — cleared
Six of six media checks. A subset request returns 422.
VPP-3ff08ab2 · 21:14:02Z
Decision Control Plane — proposed
DEL 84 clears the floor; the $45,000 value exceeds the $25,000 ceiling, so eligibility resolves to approval-required.
21:14:08Z
Approval — waiting on you
Your verified session becomes the named approver. The role is re-checked server-side on the call.
ActionAuthorization — not minted
Single-use, bound to this exact action. Tampering returns 422; a second redeem returns 409.
Action Runner — records only
Stage 3 is the fleet default: the run is recorded, executed:false. Stage 4 without an adapter returns 501.
YOUR GATE
Approving writes an immutable ledger entry naming you, mints one authorization bound to this action, and hands it to the runner. It does not reach a bidder: measurement writeback is off.
WHY THE PLATFORM BELIEVES THIS
DEL score composition
84
Evidence quality92
Causal confidence81
Policy conformance88
Reversibility74
Reversibility is the weak leg: a geo reservation holds for a full cycle. That is the number to argue with, and it is on the surface rather than in a log.
Causal credit
iROAS estimate2.14
95% interval1.62 – 2.71
Refutation batterypassed 4/4
Classificationcaused
Platform-reported ROAS is deliberately absent. DECIDE runs on iROAS.
Holdout
Registeredbefore exposure
Arm split90 / 10
Cycles observed1 of 2
One clean cycle short of the promotion gate. Approval is a one-off, not a step up the ladder.
Policies this action touched
value_ceiling$45,000 against a $25,000 autonomous ceiling — this is the reason you are reading this page.
treasury_floorCleared. F5 config declares the floor; absent config would have claimed no constraint.
geo_scopeUS-CA is inside the armed pilot scope at ±30% of a $2,500 cycle.
consent_gateNo person identifiers in the payload. Nothing to fail closed on.

Screen three — the loop, with its gaps drawn in

The existing app has five separate SRPVDAL views. One is enough if it tells the truth: each phase reports live, unavailable with a reason, or not-wired, and the three never blend.

SINGLE LOOP VIEW
SENSE
14,208
events in window
LIVE
/api/bff/events
polled 60s
REASON
No phase-throughput aggregate
[NOT-WIRED]
A count here would be invention. The panel states the missing read instead.
PLAN
No phase-throughput aggregate
[NOT-WIRED]
Proposed as read API HD-4.
VALIDATE
6/6
passport checks, all issued
LIVE
/api/bff/passports
polled 60s
DECIDE
109
decisions · 4 approval-required
LIVE
/api/bff/decisions/summary
polled 120s
ACT
Recorded, never executed
Stage 3 default across the fleet.
UNAVAILABLE
No actuator adapter is registered, so there is nothing to report as executed.
LEARN
1
cycle observed of 2 required
PARTIAL
The guard is code, never an extrapolation.
Estate health, stated as probes
Authed health probes34 / 39
Governance services11 / 11 · 0 failures
Unauth probe on a locked cell403 — healthy
A 403 on a locked service is correct posture. The old dashboards counted it as an outage; this one labels it.
The three states, verbatim
LIVEa measured read answered, with its trace id
UNAVAILABLEthe exact reason, never a blank or a zero
ERRORunexpected failure, with trace id
[NOT-WIRED]no read API exists — the gap is the content

Five destinations, and where the current routes land

Nothing is deleted. Every existing page becomes a tab, a panel, or a deep link inside one of five destinations, and the duplicate homes resolve to the inbox.

INFORMATION ARCHITECTURE
Decisions
the home page
Inbox, decision record, approvals queue and history, action runs, policy hits. The one place where a human changes the platform's mind.
command-center/{decisions, approvals, actions, policies} · operations/actions · api/dryrun
Evidence
why anything is believed
Causal credit ledger, lift and holdouts, the knowledge graph as an evidence browser rather than a toy, intent in shadow, journeys, cohorts.
kg/* (7 routes) · causal-graphrag · lift-measurement · intent + intent/shadow · signal-intelligence/intent · customer-journey · journey/* · relu
Loop
one view, seven phases
Phase throughput where it is measured, honest gaps where it is not, canonical event stream, connector and injection state.
dashboard/{srdal, srpvdal, srpvdal-live} · operate · boss-srdal · boss-srpvdal · command-center/events · streaming · connectors/*
Governance
the audit surface
Audit chain, canon status and claim labels, autonomy ladder certifications, tenant onboarding, flag posture including the two writebacks.
audit · command-center/{audit, canon-status, learning} · onboarding · settings · api/flags
Estate
engineering only
Cells, service health, agents and MOA/MOE, model registry, the agent IDE. Everything an operator never needs, kept behind one door and role-gated.
command-center/cells · service-health · system/health-dashboard · a2a-monitor · agents/* · agentic · agentmanager · agent-launcher · agent-ux · agent-ide · boss/* · kernel/* · experts · workflows/*
Resolve the duplicate homes
Six roots compete today. One wins — the inbox — and the other five become 307 redirects, the same pattern already used for the SRDAL route retirement.
Retire the marketing pages
Blog, blogs, invest, marketing, and the patent UI live inside the authenticated console. They belong on the public site, which has its own canon lock and approval gate.
Make the primitives the contract
Tile, StatusBadge, NotWiredNote, Banner, TraceFooter, BffQueryState already exist. Ban raw fetch-and-render in pages, and the honesty discipline holds by construction.
TWO THINGS TO FIX THAT ARE NOT VISUAL
The UI has no CI type gate. Build errors are ignored by config and changes are held against a local delta-tsc baseline of 556 errors. Any consolidation of this size needs the gate turned on first, or the refactor will move breakage rather than remove it.
Read APIs are the real blocker. Four of the panels above cannot exist until the proposed aggregate reads ship. The design's job here is to make that shortage legible rather than to paper over it — which is why the not-wired note is a component and not a comment.